package com.jrwd.recycletest.mange;

import android.content.Context;
import android.text.TextUtils;

import com.jrwd.recycletest.util.SpUtils;


/**
 * 相信自己，创造未来
 *
 * @author 小兵
 * @date 2017/10/21
 */

public class UserCache {


    public static final String MOBILE = "mobile";        //手机号码
    public static final String UID = "uid";              //用户ID
    public static final String NAME = "name";            //姓名
    public static final String SIGN = "sign";            //登录签名
    public static final String AMOUNT = "apply_amount";            //申请额度
    public static final String IDNO = "id_no";    //身份证号
    public static final String CATEGORY = "category";            //职业
    public static final String REQUIRE = "is_send_loan_require";         //是否发布了贷款需求
    public static final String GENDER = "gender";  //性别
    public static final String PLATFROM = "reg_platform";      //注册平台，1表示app，2表示h5
    public static final String CHANNEL = "channel";        //如果用户通过h5注册，返回bd渠道编号
    public static final String STATUS = "profile_status";  //资料完整状态   1完整  0不完整


    /**
     * 保存手机号码
     */
    public static void saveMobile(Context context, String mobile) {
        if (SpUtils.contains(context, MOBILE)) {
            SpUtils.remove(context, MOBILE);
        }
        SpUtils.put(context, MOBILE, mobile);
    }

    /**
     * 获取手机号码
     *
     * @param context
     * @return
     */
    public static String getMobile(Context context) {
        if (!SpUtils.contains(context, MOBILE) || TextUtils.isEmpty((String) SpUtils.get(context, MOBILE, ""))){
            return "";
        }
        return (String) SpUtils.get(context, MOBILE, "");
    }


    /**
     * 保存用户ID
     */
    public static void saveId(Context context, String id) {
        if (SpUtils.contains(context, UID)) {
            SpUtils.remove(context, UID);
        }
        SpUtils.put(context, UID, id);
    }

    /**
     * 获取用户ID
     *
     * @param context
     * @return
     */
    public static String getId(Context context) {
        if (!SpUtils.contains(context, UID) || TextUtils.isEmpty((String) SpUtils.get(context, UID, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, UID, "");
    }

    /**
     * 获取姓名
     */
    public static String getName(Context context) {
        if (!SpUtils.contains(context, NAME) || TextUtils.isEmpty((String) SpUtils.get(context, NAME, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, NAME, "");
    }

    /**
     * 保存姓名
     */
    public static void saveName(Context context, String name) {
        if (SpUtils.contains(context, NAME)) {
            SpUtils.remove(context, NAME);
        }
        SpUtils.put(context, NAME, name);
    }

    /**
     * 获取签名
     */
    public static String getSign(Context context) {
        if (!SpUtils.contains(context, SIGN) || TextUtils.isEmpty((String) SpUtils.get(context, SIGN, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, SIGN, "");
    }

    /**
     * 保存签名
     */
    public static void saveSign(Context context, String sign) {
        if (SpUtils.contains(context, SIGN)) {
            SpUtils.remove(context, SIGN);
        }
        SpUtils.put(context, SIGN, sign);
    }

    /**
     * 获取我的额度
     */
    public static String getAmount(Context context) {
        if (!SpUtils.contains(context, AMOUNT) || TextUtils.isEmpty((String) SpUtils.get(context, AMOUNT, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, AMOUNT, "");
    }

    /**
     * 保存我的额度
     */
    public static void saveAmount(Context context, String amount) {
        if (SpUtils.contains(context, AMOUNT)) {
            SpUtils.remove(context, AMOUNT);
        }
        SpUtils.put(context, AMOUNT, amount);
    }

    /**
     * 获取身份证号
     */
    public static String getIdno(Context context) {
        if (!SpUtils.contains(context, IDNO) || TextUtils.isEmpty((String) SpUtils.get(context, IDNO, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, IDNO, "");
    }

    /**
     * 保存身份证号
     */
    public static void saveIdno(Context context, String idno) {
        if (SpUtils.contains(context, IDNO)) {
            SpUtils.remove(context, IDNO);
        }
        SpUtils.put(context, IDNO, idno);
    }


    /**
     * 获取职业
     */
    public static String getCategory(Context context) {
        if (!SpUtils.contains(context, CATEGORY) || TextUtils.isEmpty((String) SpUtils.get(context, CATEGORY, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, CATEGORY, "");
    }

    /**
     * 保存职业
     */
    public static void saveCategory(Context context, String category) {
        if (SpUtils.contains(context, CATEGORY)) {
            SpUtils.remove(context, CATEGORY);
        }
        SpUtils.put(context, CATEGORY, category);
    }

    /**
     * 获取贷款需求
     */
    public static int getRequire(Context context) {
        if (!SpUtils.contains(context, REQUIRE) || TextUtils.isEmpty((String) SpUtils.get(context, REQUIRE, ""))) {
            return 0;
        }
        return (int) SpUtils.get(context, REQUIRE, "");
    }

    /**
     * 保存贷款需求
     */
    public static void saveRequire(Context context, int require) {
        if (SpUtils.contains(context, REQUIRE)) {
            SpUtils.remove(context, REQUIRE);
        }
        SpUtils.put(context, REQUIRE, require);
    }


    /**
     * 获取性别
     */
    public static String getGender(Context context) {
        if (!SpUtils.contains(context, GENDER) || TextUtils.isEmpty((String) SpUtils.get(context, GENDER, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, GENDER, "");
    }

    /**
     * 保存性别
     */
    public static void saveGender(Context context, String gender) {
        if (SpUtils.contains(context, GENDER)) {
            SpUtils.remove(context, GENDER);
        }
        SpUtils.put(context, GENDER, gender);
    }

    /**
     * 获取注册平台
     */
    public static String getPlatform(Context context) {
        if (!SpUtils.contains(context, PLATFROM) || TextUtils.isEmpty((String) SpUtils.get(context, PLATFROM, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, PLATFROM, "");
    }

    /**
     * 保存注册平台
     */
    public static void savePlatform(Context context, String flatform) {
        if (SpUtils.contains(context, PLATFROM)) {
            SpUtils.remove(context, PLATFROM);
        }
        SpUtils.put(context, PLATFROM, flatform);
    }

    /**
     * 获取H5注册平台BD渠道
     */
    public static String getChannel(Context context) {
        if (!SpUtils.contains(context, CHANNEL) || TextUtils.isEmpty((String) SpUtils.get(context, CHANNEL, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, CHANNEL, "");
    }

    /**
     * 保存H5注册平台BD渠道
     */
    public static void saveChannel(Context context, String channel) {
        if (SpUtils.contains(context, CHANNEL)) {
            SpUtils.remove(context, CHANNEL);
        }
        SpUtils.put(context, CHANNEL, channel);
    }

    /**
     * 获取资料完整状态
     */
    public static String getStatus(Context context) {
        if (!SpUtils.contains(context, STATUS) || TextUtils.isEmpty((String) SpUtils.get(context, STATUS, ""))) {
            return "";
        }
        return (String) SpUtils.get(context, STATUS, "");
    }

    /**
     * 保存资料完整状态
     */
    public static void saveStatus(Context context, String status) {
        if (SpUtils.contains(context, STATUS)) {
            SpUtils.remove(context, STATUS);
        }
        SpUtils.put(context, STATUS, status);
    }


    /**
     * 保存用户所有信息
     */
    public static void saveUser(Context context, String phone, String name, String id,
                                String sign, String category, String platform, String chanel){
        if (!TextUtils.isEmpty(phone)) {
            saveMobile(context, phone);
        }
        if (!TextUtils.isEmpty(name)) {
            saveName(context, name);
        }
        if (!TextUtils.isEmpty(id)) {
            saveId(context, id);
        }
        if (!TextUtils.isEmpty(sign)) {
            saveSign(context, sign);
        }
        if (!TextUtils.isEmpty(category)) {
            saveCategory(context, category);
        }
        if (!TextUtils.isEmpty(chanel)) {
            saveChannel(context, chanel);
        }
        if (!TextUtils.isEmpty(platform)) {
            savePlatform(context, platform);
        }
    }

                                /**
                                 * 保存用户所有信息
                                 */
    public static void saveUser(Context context, String name, String phone, String id, String amount, String sign,
                                String idno, String category, int require, String gender, String platform,
                                String channel, String status) {

        if (!TextUtils.isEmpty(name)) {
            saveName(context, name);
        }
        if (!TextUtils.isEmpty(phone)) {
            saveMobile(context, phone);
        }
        if (!TextUtils.isEmpty(id)) {
            saveId(context, id);
        }
        if (!TextUtils.isEmpty(amount)) {
            saveAmount(context, amount);
        }
        if (!TextUtils.isEmpty(sign)) {
            saveSign(context, sign);
        }
        if (!TextUtils.isEmpty(idno)) {
            saveIdno(context, idno);
        }
        if (!TextUtils.isEmpty(category)) {
            saveCategory(context, category);
        }
        if (!TextUtils.isEmpty(platform)) {
            savePlatform(context, platform);
        }
        if (!TextUtils.isEmpty(channel)) {
            saveChannel(context, channel);
        }
        if (!TextUtils.isEmpty(status)) {
            saveStatus(context, status);
        }
        UserCache.saveRequire(context, require);
        UserCache.saveGender(context, gender);
    }

    /**
     * 删除用户所有信息
     */
    public static void deleteUser(Context context) {
        if (SpUtils.contains(context, MOBILE)) {
            SpUtils.remove(context, MOBILE);
        }
        if (SpUtils.contains(context, NAME)) {
            SpUtils.remove(context, NAME);
        }
        if (SpUtils.contains(context, UID)) {
            SpUtils.remove(context, UID);
        }
        if (SpUtils.contains(context, SIGN)) {
            SpUtils.remove(context, SIGN);
        }
        if (SpUtils.contains(context, AMOUNT)) {
            SpUtils.remove(context, AMOUNT);
        }
        if (SpUtils.contains(context, IDNO)) {
            SpUtils.remove(context, IDNO);
        }
        if (SpUtils.contains(context, CATEGORY)) {
            SpUtils.remove(context, CATEGORY);
        }
        if (SpUtils.contains(context, REQUIRE)) {
            SpUtils.remove(context, REQUIRE);
        }
        if (SpUtils.contains(context, GENDER)) {
            SpUtils.remove(context, GENDER);
        }
        if (SpUtils.contains(context, PLATFROM)) {
            SpUtils.remove(context, PLATFROM);
        }
        if (SpUtils.contains(context, CHANNEL)) {
            SpUtils.remove(context, CHANNEL);
        }
        if (SpUtils.contains(context, STATUS)) {
            SpUtils.remove(context, STATUS);
        }

    }
}

